const express = require('express')
const upload = require('./router/upload.js')


const app = express();


// 允许跨域的域名
const domainAllow = [
  'http://sheji.dinggu.net',
  'http://localhost:8080'
];

// 设置cors头
app.all('*', function(req, res, next) {
  // 1. 设置跨域域名
  if(domainAllow.includes(req.headers.origin)) {
    res.header("Access-Control-Allow-Origin", req.headers.origin);
  }

  // 2. 允许浏览器访问的头
  // res.header('Access-Control-Expose-Headers')

  // 3. preflight预检请求能被缓存多久
  // res.header('Access-Control-Max-Age', '1728000');// 20 days

  // 4. 是否允许浏览器发送cookie
  // res.header('Access-Control-Allow-Credentials')

  // 5. preflight预检请求的响应，指明允许的http方法
  res.header('Access-Control-Allow-Methods', 'POST');

  // 6. preflight预检请求的响应，指明请求中允许携带的头
  res.header('Access-Control-Allow-Headers', 'content-type');

  /**
   * 下面两个设置在浏览器请求头
   */
  // 1. 浏览器cors会使用哪些方法
  // res.header('Access-Control-Request-Method')

  // 2. 浏览器cors额外发送的头
  // res.header('Access-Control-Request-Headers')

  next();
});

app.use('/upload', upload);

const server = app.listen(9090, () => {
  console.log(`监听：${ server.address().address }:${ server.address().port }`);
});